package ynu.edu.elmspringboot.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import ynu.edu.elmspringboot.po.Cart;

import java.util.List;

public interface CartService extends IService<Cart> {
    // 自定义方法，获取包含关联对象的 Cart
    Cart getCartWithFoodAndBusiness(Integer cartId);

    int removeCart(Cart cart);

    List<Cart> listCart(String userId);

    /**
     * 分页查询用户购物车
     * @param page 分页参数
     * @param userId 用户ID
     * @param businessId 商家ID（可选）
     * @return 分页结果
     */
    IPage<Cart> getCartPage(Page<Cart> page, String userId, Integer businessId);

    /**
     * 分页查询购物车（包含关联的食品和商家信息）
     * @param page 分页参数
     * @param userId 用户ID
     * @return 分页结果
     */
    IPage<Cart> getCartPageWithDetails(Page<Cart> page, String userId);
}